In complex integrated circuits, processing apparatus is typically distributed over several cores or processors. Commonly, a master processor 2 (otherwise known as a central processing unit (CPU)) is dedicated to system control and one or more specialized slave processors 4 (otherwise known as digital signal processors (DSPs)) are dedicated to processing digital signals. In a portable communication device (such as a mobile phone), the digital signal processing may comprise audio processing, video processing or communication channel coding (as illustrated in FIG. 1).
In some applications, the signal processing may be strongly dependent. This is the case, for instance, in mobile telecom applications (2G and 3G) where the channel processing needs to share information and to be synchronized with the speech processing.
It is known to implement all the linked signals processing in a single unique DSP subsystem 6, as shown in FIG. 2. In such a case, there is no hardware limitation to sharing information between different concurrent processes (namely audio and telecom) since the processes are undertaken in the same DSP unit. However, a shared memory 8 and a direct memory Access (DMA) controller 9 is required for sub-system exchanges of information with the CPU.
By using a single combined DSP solution, a powerful CPU is required along with sophisticated real time embedded firmware. Consequently, implementation, validation and maintenance of such processing apparatus is complicated. Moreover, the dependencies between all the processes mean that the system is only mature when all of these processes are stable.
An alternative approach is to use two separate DSP units 10 and 12: one unit (DSP1) for the telecom processing and one unit (DSP2) for the Audio processing, as illustrated in FIG. 3. There is, however, a drawback associated with this alternative approach, in that information cannot be shared directly between the sub-systems.